1. Field of the Invention
The present invention is directed to a tape cassette of the type containing a memory with data stored therein identifying characteristics of the cassette, the cassette being employed in a multi-cassette loader or library system, with the system communicating with the tape cassette to read and write information into and from the cassette memory.
2. Description of the Prior Art
Many types of tape cassettes or cartridges are currently in use, however, such cassettes or cartridges can generally be categorized into three basic groups, these being the single reel cassette, the dual reel cassette, and the belt-driven cassette or cartridge.
Regardless of the type of tape cassette or cartridge being used, the tape drive and its connected computer system will organize the data on the tape in a defined manner, so that it can be read back at a later date even on another (compatible) system. Typically, such a format organization includes some form of file structure (where related groups of data is organized in the same file or group of file names.). Older systems typically divide the various file groups by inserting special marker blocks (often named tape marks or file marks) between the file groups. Later, if a system knows that it wants the contents after a certain file mark, it can instruct the tape drive to quickly locate this particular file mark, and then read from there. This is one way to avoid having to read the tape sequentially to find the wanted data.
Some modern tape systems go one step further by recording information about the file structure (name, contents and location on the tape) in a special section at the front end (beginning) of the tape. Therefore, the tape drive need only read this section to obtain information about the actual contents of the inserted tape. When this section is read, the tape drive can afterwards easily be instructed to go directly to a particular place on the tape and start reading (and maybe writing) from that point. This reduces the effective time to data and make the system operate more effectively.
For single stand-alone tape drives (drives not used in any form of library or loader systems or other kind of large information systems), having key information about the tape contents recorded at the beginning of each particular tape, is quite adequate for normal operation. Automated systems, where the tape drive (or tape drives) are used together with a robotic system which automatically can load or unload cartridges from one or more magazines and insert to or extract these cartridges from the tape drives, demand even more effective ways of handling information about the contents of each of the tape. Also, it is to be expected that even single stand-alone tape drives in the future will need to be smarter and more quickly read the contents of any inserted tape cassette.
FIG. 1 shows a simplified drawing of a conventional robotic system having a tape drive 100, a magazine 101 typically containing from 5 to 10 cartridges or cassettes 102 and a robot 103 which by command can pick a particular cartridge from the magazine and insert it into the drive or vice versa. An electronic controller unit 104 controls the operation of the robot. It get its information partly from the drive, partly from the robot and partly from the host system computer through a connected data and information bus 105. This bus 105, in addition to carrying the information and commands for the control of the robot, also contains data to either be recorded on the tape or extracted from the tape and sent to the computer.
By command from the host computer, the robotic arm can pick up any one of the cassettes 102 and insert it into the tape drive 100. When the drive 100 has finished the read/write operations on the selected cassette 102 it will inform the electronic robot controller 104 which in turn will remove the cassette 102 from the drive 108 and insert it into an empty slot in the magazine 101. The host system will then instruct the robot to pick another cassette, etc.
In its most primitive form, a loader like the one shown in FIG. 1 will need to load a cassette and read at least the beginning of the tape to let the host find out whether it contains the wanted data. If it is not the correct one, the host must instruct the system to try the next cartridge and so on. Sometimes, if the cassette contains little or no data information recorded at the beginning of the tape, it may be necessary to read at least several sections of the tape to determine whether this contains the wanted data. This is a very time consuming and ineffective method.
To at least reduce this pick and try method, many systems now have built-in bar code readers. By having a unique bar code on each cassette, the host can instruct the robot to read the cassette bar codes until it comes to the wanted cassette. In this way, it is no longer necessary to load and read a cassette to determine its contents.
The robotic system of FIG. 1 is a very primitive low end automatic system, normally called a “loader”. Such a loader is very often used as the first step in automating a tape drive system. Together with suitable host software, the user can set up the loader and the host to do automatic backup (for example during the night), without the need for any manual support. If the storage capacity on each cassette or cartridge is large enough, it can have a full day's backup on one cassette. In this case, the system can do automatic backup for a whole week without any user support. Furthermore, if the system contains for example, 10 cassettes, it can even have a few spare cassettes in case something goes wrong with a cassette. One slot can also have a cleaning cassette for automatic cleaning operation when so required.
Loaders like that shown in FIG. 1 are becoming increasingly common as a low cost way to automate tape handling and backup. Larger systems, however, typically require better and more advanced tape automation. Such systems are normally called “libraries”, and are offered in many different forms. All libraries, however, contain at least two tape drives (many contain four or more drives) and various forms of magazines with cartridges/cassettes. Typically, a magazine may contain between 10 and 100 cassettes, and a library may have from one up to large numbers of magazines. All libraries also have one or more robots (robotic cassette pickers) which can pick any cassette from any of the magazines in the library and place it in any of the tape drives in the library. FIG. 2 shows a simplified block diagram of a library system having four drives 110, two magazines 111 with 10 cassettes 112, a robot cassette handler 113 controlled by an electronic controller unit 114. The commands to the electronic unit 114 come either from the host via a control bus 115 (very often combined so that it also carries data) or from the drives 110 or from the robot system 113 itself. For example, if the library is equipped with a bar code reader, such a reader is typically placed on the robot and the bar code information is fed to the electronic controller unit 114 and from there normally back to the host computer via the bus 115.
The operation of such a library is very much the same as for the loader described in FIG. 1, except that with more tape drives, the system can operate on more than one drive at a time. For example, one drive can wind or rewind the tape in one cassette, while another drive either read or write data from or to another cassette. Some systems can even read or write on more than one tape drive simultaneously. Therefore, a library system is more effective and can handle more data faster than a simple loader system.
Some library systems are also designed so they can be interconnected with other library system in such a way that cassettes/cartridges can be fed from a magazine in one library to a magazine in another library. In this way, very large and sophisticated library systems can be built using small standard libraries as “building blocks”.
As the size and complexity of a library system increases, so increases the need to operate the system more and more effectively. The use of unique bar codes on each cassette/cartridge has already been mentioned; likewise the use of a section of the tape (normally at the beginning) where information about the contents of the particular tape is recorded (and kept updated as new information is recorded to or withdrawn from the cassette).
As the demand for higher performance and higher efficiency constantly increases, more advanced methods are introduced to provide the host with detailed information about the contents of each particular cartridge as effectively and quickly as possible.
One method is to equip the library with its own memory containing information about the current contents of every cartridge/cassette in the library. Such a memory can be in the form of a (typically non-volatile) semiconductor memory like a flash memory or a D-RAM or S-RAM memory with battery backup, or it can be in the form of a hard disk. For larger libraries, such special built-in memory systems can be very cost effective, and increase the throughput (time to wanted data) considerably, however, such a special memory system also increases the complexity and cost of the library and its operating software. Also, whenever a magazine with cartridges is removed or inserted, the library memory system needs to go through a special update routine to learn the contents of the cassettes in the new magazine and remove the information about the contents in the old magazine. If several libraries are linked together, this special memory system must be updated every time a cassette is transferred from one library to the next one.
Another method fairly recently used is to equip each cassette or cartridge with its own non-volatile memory (typically, flash memory). This principle is shown in FIG. 3. A memory chip 120 resides inside the cassette housing 121. The electrical control signals needed to write data into the memory chip or read data out of the chip, are supplied to the memory chip 120 via a set of electrical contacts 122 situated at the exterior of one side of the cassette housing. When inserted in a suitable tape drive, spring loaded electrical conducting fingers connect to the electrical contacts 122 so that the drive can write data to the chip 120 or read data from the chip 120.
This method makes it possible to store a fairly large amount of information about the contents of a cassette in the memory chip of the same cassette. When the cassette has been loaded into a drive, the drive can immediately read out the information without the need to begin running the tape to get information about the contents. Therefore, immediately after insertion, the drive can transfer information about the tape contents to the host. Compared with systems required to read special recorded information at the beginning of the tape, this system is much more effective. If the selected cassette does not contain the wanted information, the host can immediately instruct the robot and drive to remove the cassette and pick another one.
This method is also very suitable when new data has been recorded to the tape, because the memory chip 120 can be updated in a very short time (normally less than 1 second) without the need to rewind the tape to the beginning and start recording cassette information at the beginning of the tape. Likewise, when either a single cassette or a whole magazine is removed or inserted from the library, the information about each cassette is always updated without having to go through a special update sequence (as is needed when the library contains for example a hard disk memory system).
While the approach illustrated in FIG. 3 significantly improves the performance of both a single drive system and a loader/library systems, it still requires the cassette to be inserted into the drive to read the contents of the built-in memory chip. It is of course possible to construct magazines where each cassette slots contains the necessary spring loaded contacts making connections to the memory chip inside each cassette. Typically, at least 5 to 7 contacts are required per cassette: two contacts for power connections, one serial data signal, one write enable signal and one read enable signal. Extra signals may be used to select special sections of the memory chip 120 etc.
Therefore, although technically quite feasible, building magazines with such connections for every cassette and the related control electronics to read or write data selectively to or from a cassette, increases complexity and cost of such a system quite significantly.
A method which has been proposed to overcome this, is to replace the connector system with a form of radio transmission system. Each cassette then contains a small radio transmitter and receiver. The idea is that each cassette can be selectively turned on by a coded radio signal sent out by a transmitter built into the library and will then transmit the contents of its memory chip to a receiver also situated in the library (or allowing new data to be written into the chip if so required). The power to the chip itself and the receiver/transmitter electronics inside each cassette has been proposed to come from the transmitted radio signal from the library. In each cassette, a small transformer picks up the transmitted radio signal from the library, rectifies it and uses this resulting DC power to power the built-in electronics in the cassette.
Therefore, this system appears to have promise as an ideal system for sophisticated libraries: The cassette magazines need not be modified at all. Into each library is built a transmitter and a receiver. The transmitter serves two purposes. Its transmitted signal is picked up by the small transformer in each cassette, rectified and used to power the electronics in each cassette. The transmitted signal also contains coded information about which particular cassette the library system wants to address. The selected cassette turns on its transmitter, and transmit the data. The information is picked up by the receiver in the library and can then be sent back to the host.
There are some significant drawbacks. First, having any sort of transmitter close to magnetic data represents a risk of destroying or at least weakening the recorded data on the tape. Therefore, the transmitted signals need to be very weak so as not to disturb the recorded signals.
Second, although the transmitter/receiver inside each cassette can probably be built with one integrated circuit and a few discrete components, it is still a fairly complex and expensive piece of electronics. For libraries having a large number of cassette, the cost of each cassette is very important.
A third drawback is the problem of interference with other transmitted (radio) signals in the environment of the library. This could come from the use of mobile phones, TVs, radios, power supplies etc. Therefore, to ensure proper operation, such libraries need to be well protected against electrical interference.